package com.glodon.paas.activity.dao.domain;

import java.util.Date;

import com.google.code.morphia.annotations.Entity;
import com.google.code.morphia.annotations.Id;
import com.google.code.morphia.annotations.Property;

/**
 * 接收者接收到的活动
 * 
 * @author a db.activity.ensureIndex({"userId":1, "rt":-1});
 */
@Entity(value = "activityPublished", noClassnameStored = true)
public class ActivityPublishedEntity {
    @Id
    String  id;          // uuid
    String  userId;      // 活动接受者:id
    String  actorId;     // 活动者:accountId
    // 活动来源
    Integer appId;       // 活动来源:应用id
    Integer moduleId;    // 活动来源:模块id
    Long    activityType;// 活动类型:由各应用自定义
    // item
    String  itemId;      // 关联实体id，如文件，文件夹等
    String  itemType;    // 关联实体类型
    String  subItemId;   // 二级关联实体id等 ，如 项目 + 文件; 文件夹 + 文件;
    
    // 活动ID
    String  activityId;  // 活动ID

    @Property("pt")
    Date    publishTime; // 客户端产生时间
    @Property("rt")
    Date    receiveTime; // 服务端接受到动态数据的时间毫秒，也用于检索
    @Property("ct")
    Date    createTime;
}
